import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
import java.util.*;

/**
 * Clase que muestra una pared bajando
 * 
 * @author Cesar Antonio Medina Moreno
 * @version 01/12/2012
 */
public class top extends Actor
{  
    Date tIni = new Date();
    GreenfootImage img = new GreenfootImage("calavera.png");
    boolean band=true;
    int tam = 8,alto = 8;
    int dis = 20,segundos = 10;
    mundo mun;
    
    /**
     * Funcion principal de la clase
     */
    public void act() 
    {
        Date tFin = new Date();
        
        if(((tIni.getTime()-tFin.getTime())/1000)%segundos == 0 && alto<img.getHeight()-dis)//si ya pasaron x segundos
        {
            if(band)//si band == true se cambia el tamaño de la imagen del objeto
            {
                alto += dis;
                cambiaTamImagen();
                setLocation(getX(),alto/2);
            }
            band=false;
        }
        else
        band = true;
        
        
        if(alto>img.getHeight()-dis)//si el alto de la imagen del objeto es menor que alto, se cambia la imagen por un mensaje
        {
            cambiaImagen();
            Greenfoot.delay(100);
            mun = (mundo) super.getWorld();
            mun.disminuyeVidas();
        }
    }    
    
    /**
     * Establece la velocidad con la que ira bajando el objeto
     */
    public top(int x)
    {
        switch(x)
        {
            case 1:
                segundos = 5;
                break;
            case 2:
                segundos = 3;
                break;
            case 3:
                segundos = 2;
                break;
        }
    }
    
    /**
     * Funcion para obtener la altura del objeto
     */
    public int getAlto()
    {
        return(alto);
    }
    
    /**
     * Funcion que cambia la imagen del objeto por un mensaje
     */
    public void cambiaImagen()
    {
        GreenfootImage gameover = new GreenfootImage("FALLASTE!",40,
                                                        java.awt.Color.WHITE,
                                                        java.awt.Color.BLACK);
        setImage(gameover);
    }
    
    /**
     * Funcion para ir agrandando el tamaño de la imagen del objeto
     */
    public void cambiaTamImagen()
    {
        GreenfootImage spr;
        spr = new GreenfootImage(380,alto);
        spr.drawImage(img,0,-(img.getHeight()-alto));
        setImage(spr);
   }
        
}
